package com.woniuxy;

import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/**
 * 课堂任务
 *
 * @author 老谭 (<a href="http://www.woniuxy.com">蜗牛学苑</a>)
 *
 */
public class Job1 {
	/**
	 * 给定一个整数，判断该整数是否是奇数
	 * 
	 * @param num 给定的整数
	 * @return 如果num是奇数，返回true；否则，返回false
	 */
	public static boolean isOdd(int num) {
		return num % 2 != 0;
	}

	/**
	 * 查找出现在两个整数数组中的数
	 * 
	 * @param nums1
	 * @param nums2
	 * @return
	 */
	public static Set<Integer> getSameData(int[] nums1, int[] nums2) {
		// 参数有效性校验
		if (nums1 == null || nums2 == null) {
			// throw new IllegalArgumentException("无效参数异常");
			return new HashSet<>();
		}

		Set<Integer> result = new HashSet<>();

		for (int i = 0; i < nums1.length; i++) {
			for (int j = 0; j < nums2.length; j++) {
				if (nums1[i] == nums2[j]) {
					result.add(nums1[i]);
					break;
				}
			}
		}

		return result;
	}

	/**
	 * 创建一个Map<String,Ineger>,将Map传入一个方法，计算出值最大的元素对应的键
	 * 
	 * @param data
	 * @return
	 */
	public static String getKeyForMaxValue(Map<String, Integer> data) {
		if (data == null) {
			return "";
		}
		Set<Entry<String, Integer>> entries = data.entrySet();
		Integer max = Integer.MIN_VALUE;
		String r = null;
		for (Entry<String, Integer> entry : entries) {
			if (entry.getValue() != null && entry.getValue() > max) {
				max = entry.getValue();
				r = entry.getKey();
			}
		}
		return r;
	}
}
